package cn.stu.framework.service;

import cn.stu.common.utils.ApiData;
import cn.stu.common.utils.R;
import cn.stu.framework.dto.RoleDto;
import cn.stu.framework.entity.Role;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;


/**
 * 角色服务
 *
 * @author 郑志豪
 * @date 2023/09/13
 */
public interface RoleService extends IService<Role> {
    /**
     * 角色列表
     *
     * @param dto DTO
     * @return {@link ApiData}
     */
    ApiData roleList(RoleDto dto);

    /**
     * 角色添加
     *
     * @param role 角色
     * @return {@link ApiData}
     */
    ApiData roleAdd(Role role);

    /**
     * 角色更新
     *
     * @param role 角色
     * @return {@link ApiData}
     */
    ApiData roleUpdate(Role role);

    /**
     * 角色
     *
     * @param roleId 角色ID
     * @return {@link ApiData}
     */
    ApiData roleDel(Long roleId);

    /**
     * 角色信息
     *
     * @param roleId 角色ID
     * @return {@link ApiData}
     */
    ApiData roleInfo(Long roleId);

    /**
     * 选择角色列表
     *
     * @param role 角色
     * @return {@link R}<{@link List}<{@link Role}>>
     */
    R<List<Role>> selectRoleList(Role role);
}
